package com.zhs.smartmall.member.dto;

import io.swagger.annotations.ApiModel;
import lombok.*;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

/**
 *
 * @author 
 * @since 2023-11-15
 */
@Data
@ApiModel(value = "UmsMemberDto")
public class UmsMemberDto implements Serializable {
        //表字段
        private static final long serialVersionUID = 1L;
        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "主键")
        private Long id;

        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "会员等级id")
        private Long levelId;

        @ApiModelProperty(value = "用户名")
        private String username;

        @ApiModelProperty(value = "密码")
        private String password;

        @ApiModelProperty(value = "昵称")
        private String nickname;

        @ApiModelProperty(value = "手机号码")
        private String mobile;

        @ApiModelProperty(value = "邮箱")
        private String email;

        @ApiModelProperty(value = "头像")
        private String header;

        @ApiModelProperty(value = "性别")
        private Integer gender;

        @ApiModelProperty(value = "生日")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date birth;

        @ApiModelProperty(value = "所在城市")
        private String city;

        @ApiModelProperty(value = "职业")
        private String job;

        @ApiModelProperty(value = "个性签名")
        private String sign;

        @ApiModelProperty(value = "用户来源")
        private Integer sourceType;

        @ApiModelProperty(value = "积分")
        private Integer integration;

        @ApiModelProperty(value = "成长值")
        private Integer growth;

        @ApiModelProperty(value = "启用状态")
        private Integer status;

        @ApiModelProperty(value = "注册时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date createTime;

        @ApiModelProperty(value = "社交用户的唯一id")
        private String socialUid;

        @ApiModelProperty(value = "访问令牌")
        private String accessToken;

        @ApiModelProperty(value = "访问令牌的时间")
        private String expiresIn;

        @ApiModelProperty(value = "更新时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date updateTime;

        @ApiModelProperty(value = "是否删除")
        private Integer isDeleted;

        //=====================自定义字段=====================

        //id
        private List<String> idList;
}
